document.addEventListener('DOMContentLoaded', function() {
    // 检查 config.ip1 是否已定义
    if (typeof config === 'undefined' || !config.ip1) {
        console.error('config.ip1 is not defined');
        alert('配置文件加载失败，请检查 commanIp.js 文件');
        return;
    }

    // 获取登录按钮
    const loginBtn = document.getElementById('login-btn');

    // 为登录按钮添加点击事件监听器
    loginBtn.addEventListener('click', function(event) {
        event.preventDefault(); // 防止表单默认提交行为
        console.log('Login button clicked'); // 调试信息

        // 获取输入的用户名和密码
        const name = document.getElementById('name').value.trim();
        const password = document.getElementById('password').value.trim();

        // 前端验证：检查用户名和密码是否为空
        if (name === '' || password === '') {
            alert('请输入用户名和密码');
            return;
        }

        console.log('Sending AJAX request...'); // 新增调试信息

        // 发送请求获取数据
        $.ajax({
            url: config.ip1,
            method: 'POST',
            data: { name, password, method:'login' },
            success: function (data,textStatus,xhr) {
				
                console.log('请求成功，返回的数据:', data);
                if (data.msg === '登录成功') {
					const token  = data.token;
					localStorage.setItem('token',token);
                    // 处理菜单数据
                    const extractedData = extractMenuData(data.data.menus);
                    localStorage.setItem('menus', JSON.stringify(extractedData));

                    // 存储其他用户数据
                    localStorage.setItem('userData', JSON.stringify(data.data));

                    // 输出存储在本地的菜单数据
                    const storedMenus = JSON.parse(localStorage.getItem('menus'));
                    console.log('存储在本地的菜单数据:', storedMenus);

                    // 输出存储在本地的用户数据
                    const storedUserData = JSON.parse(localStorage.getItem('userData'));
                    console.log('存储在本地的用户数据:', storedUserData);

                    // 跳转到主页面
                    window.location.href = 'homepage.html';
                } else {
                    // 显示错误消息
                    alert('登录失败：' + data.msg);
                }
            },
            error: function (xhr, status, error) {
                console.error('请求失败:', xhr.responseText); // 打印详细的错误信息
                console.error('状态码:', xhr.status);
                console.error('错误:', error);
                alert('请求失败，请稍后再试');
            }
        });
    });

    // 注册链接的跳转
    const registerLink = document.querySelector('.container span a');
    if (registerLink) {
        registerLink.addEventListener('click', function(event) {
            event.preventDefault(); // 防止a标签的默认行为
            window.location.href = 'register.html'; // 替换为实际的注册页面路径
        });
    }

    // 添加额外的调试信息
    console.log('config:', config);
    console.log('config.ip1:', config.ip1);

    // 分页链接的事件监听器
    const pageLinks = document.querySelectorAll('.pagination .page-link');
    if (pageLinks) {
        pageLinks.forEach(link => {
            link.addEventListener('click', function(event) {
                event.preventDefault(); // 阻止默认行为

                // 移除所有现有的选中状态
                const allPageItems = document.querySelectorAll('.pagination .page-item');
                allPageItems.forEach(item => item.classList.remove('selected'));

                // 给当前点击的分页项添加选中状态
                this.parentElement.classList.add('selected');
            });
        });
    }
});

// 提取菜单数据的函数
function extractMenuData(menus) {
    let menuData = [];
    for (let i = 0; i < menus.length; i++) {
        const menu = menus[i];
        menuData.push({
            id: menu.id,
            mname: menu.mname,
            murl: menu.murl,
            subMenus: []
        });

        if (menu.subMenus && menu.subMenus.length > 0) {
            menuData[i].subMenus = extractMenuData(menu.subMenus);
        }
    }
    return menuData;
}